System and method of displaying visualizations on a device

ABSTRACT

Systems and method herein describe an electronic display apparatus that is amendable to display different types of visualizations. In an embodiment, the electronic display apparatus has a circular display unit. The electronic display apparatus may display content but with some of the portions cut off from visibility to a user. The electronic display apparatus may include motion sensor units and data obtained from these motion sensor units may be used to cause a video controller to send a portion of the content from a frame buffer to the display device to enable the display of different areas of content. The content displayed to the user may change in accordance with movement initiated by the user.

BACKGROUND

A device, such as a smartwatch, includes one or more components todisplay one or more visualizations. Typically, the smartwatch includesat least a display unit (e.g., touch screen) with a viewing window for auser to view content. The display unit of the smartwatch may come indifferent shapes and sizes. In an example, a display unit of thesmartwatch is circular in shape. However, most display instructions orcode to display visualizations are typically written and configured fornon-circular display units. Thus, if a web developer seeks to displayvisualizations on a smartwatch that is circular in shape, the webdeveloper would need to recreate code specific for that type of displayunit, which can be cumbersome. If the circular smartwatch receives codeconfigured for a non-circular display, there may be instances where thesmartwatch is unable to display the visualization. That is, visibilitymay be non-existent or perhaps limited due to content code being createdfor a non-circular display unit.

BRIEF DESCRIPTION OF THE DRAWINGS

Various techniques will be described with reference to the drawings, inwhich:

FIG. 1 includes illustrations of different display apparatusesdisplaying a visualization, according to at least one embodiment;

FIG. 2 is a diagram indicating portions of a visualization that aretruncated when using a circular display apparatus, according to at leastone embodiment;

FIG. 3 is a diagram indicating how additional portions of avisualization that were previously truncated is now in view aftermovement of the apparatus, according to at least one embodiment;

FIG. 4 is a diagram indicating portions of a visualization thattruncated when using a tilted circular display apparatus, according toat least one embodiment;

FIG. 5 is a diagram indicating additional portions of a visualizationthat are truncated when using a tilted circular display apparatus,according to at least one embodiment;

FIG. 6 is an illustration of an apparatus for displaying content on adisplay apparatus, according to at least one embodiment;

FIG. 7 is a flowchart indicating a process of using a display apparatusto display visualizations, according to at least one embodiment;

FIG. 8 is an example illustrating how a display apparatus is used todisplay visualizations, according to at least one embodiment; and

FIG. 9 illustrates an environment in which various embodiments can beimplemented.

DETAILED DESCRIPTION

Techniques described herein are directed to a display apparatus (e.g.,display device) that is amenable to display different visualizationformats. That is, techniques described herein cause a display apparatusto display visualizations where code for the visualizations areoriginally created for a different type of display apparatus.Visualizations (also referred to herein as simply content) may comprisewebpages, images, texts, objects, etc. that are typically created andcoded to be displayed on a specific type of display apparatus. Forexample, a web developer generates code for content (e.g., a webpage)that is typically displayed using a rectangular screen (e.g., firstshape). However, the display apparatus that receives the content maycomprise a display unit that is a circular screen (e.g., a second shapethat is different from the first shape). Typically, this would result inweb developers having to create new code so that the visualization isdisplayed properly on the display unit with the second shape. Displayunits typically come in different shapes and sizes as they can besymmetric, asymmetric, regular polygons, irregular polygons, etc., so itwould be advantageous to configure a display apparatus that is amenableto display different types of visualizations formats.

In an embodiment, without having to alter code or create new code,method and techniques described herein provide a way to displayvisualizations that are originally intended for a display apparatus witha first shaped display unit (e.g., square screen) to display thevisualizations using a display apparatus with a second shaped displayunit (e.g., circular screen). The display apparatus may include one ormore components such as the display unit (e.g., touch screen), one ormore motion sensor units (e.g., gyroscope, accelerometer, and/ormagnetometer), wireless communication circuitry, input devices,processor, and/or memory. Each of these components and theirfunctionalities are described in more detail with respect to FIG. 6below. Components of the display apparatus may receive data from the oneor more motion sensor units and cause the display unit to adjust howcontent is displayed to a user. In an embodiment, content is adjustedbased on movement of the user in a way that the viewing window of thedisplay apparatus is not obstructed.

In accordance with an embodiment, a method of displaying different areasof content in a direction corresponding to user movement of a displayapparatus is described herein. In an embodiment, a display apparatusreceives code from a web server. The code, when executed by a processorof the display apparatus, is configured to display content by adifferent type of display unit than the display unit of the displayapparatus. Hence, the display unit of the display apparatus may displaya portion of the content, but not its entirety. Accordingly, techniquesdescribed herein use a processor of the display apparatus to obtain datadetected by one or more motion sensor units of the display apparatus toadjust the viewing window of the display unit such that different areas(e.g., areas that have been cut off from view) of the content can bedisplayed. Thus, as one skilled in the art will appreciate in light ofthis disclosure, certain embodiments are capable of achieving certainadvantages, including configuring a display apparatus to be amenable todisplay visualizations of various formats. This way, code to displaycontent do not necessarily need to be altered or recreated specificallyfor each type of display apparatus.

In the preceding and following description, various techniques aredescribed. For purposes of explanation, specific configurations anddetails are set forth in order to provide a thorough understanding ofpossible ways of implementing the techniques. However, it will also beapparent that the techniques described below may be practiced indifferent configurations without the specific details. Furthermore,well-known features may be omitted or simplified to avoid obscuring thetechniques being described.

FIG. 1 includes illustrations 100 of a different display apparatusesdisplaying a visualization, according to at least one embodiment. In anembodiment, the both the display apparatuses 102, 104 is a smartwatch.However, a smartwatch is just one example as other types of displayapparatuses may include a laptop computer, desktop computer, mobilephone, tablet, game console, point-of-sale (POS), personal digitalassistants, wearable devices and/or e-readers, etc. In at least oneembodiment, the smartwatch is a wearable device that includes anon-circular (e.g. square) display unit 102 that is configured todisplay visualizations (e.g., characters, graphics, words, digits, text,images, etc.). In an embodiment, the square display unit 102 is aElectroluminescent (ELD), Liquid Crystal Display (LCD), Light-EmittingDiodes (LED), Inorganic semiconductor micro-LED (microLED), OrganicLight-Emitting Diode (OLED), Active-Matrix OLED (AMOLED), Plasma DisplayPanel (PDP), and/or Quantum Dot LED (QLED) that is a part of a displayapparatus. In an embodiment, the square display unit 102 includes atouchscreen that is layered on top of the square display unit 102. Auser may provide input (via a stylus or one or more fingers) to interactdirectly with the visualization that is being displayed. Other ways tointeract and control the visualization may include receiving voicecontrol commands from the user and/or instructions from a separatecomputing device (e.g., smartphone, laptop) via a wireless or wiredconnection. Sensors associated with the touchscreen may receive inputfrom the user and cause signals to be generated and submitted to aprocessor of the display apparatus. The processor (which is described inmore detail in FIG. 6 below) may then control the information beingdisplayed on the display apparatus based on these received signals.

The display apparatus may receive content as markup language (e.g.,hypertext markup language (HTML), extensible markup language (XML) froma web server (not depicted in FIG. 1 ). Content that has been preparedto be displayed is generally coded and created by a web developer. Webdevelopers typically generate code so that content is displayed on asquare display unit 102 such as the one shown in FIG. 1 . Given thatcode is typically generated for a square display unit, a square displayunit 102 would be able to display the entirety of the visualizations fora user. The user may then navigate contents on the square display device102 via the touch screen inputs.

In an embodiment, instead of having a square display unit 102, asmartwatch includes a non-square display unit 104 (e.g., circular orround display unit). As mentioned above, the non-square display unit 104may also comprise of at least one of an ELD, LCD, LED, microLED, AMOLED,PDP, and/or QLED. The smartwatch may receive content from the webserver. In an embodiment, the content received is the same executablecode that was provided by the web server to the square display device102 described above. In this instance, the circular display unit 104displays only a portion of the content. In a default or initialposition, the display unit 104 of the smartwatch has a viewing window(or referred to herein as simply a view window) that is centered on thecontent but with some portions of the content cut-off from view. Thatis, when the smartwatch (with a circular display unit 104) receives codefrom the web server, the code may indicate where a focus of the displayis and the display unit 104 defaults to a position that is centered atthat focus (or at least as close to it as possible). In an embodiment,the circular display unit 104 displays the left of the focus if thefocus is so far right that the display unit 104 would displayinformation outside of the image (if the focus were centered). In anembodiment, if a user would like to view different portions of thecontent that is currently not visible to the user, the user may causethe display apparatus to move in different directions and/or tilt. As anexample and as described in more detail with respect to FIGS. 2-7 , theuser may tilt the display apparatus in one direction, which then causesthe display unit 104 to move its viewing window to display a differentarea of the content. That is, the display unit 104 may display adifferent area of the content according to the motion of the smartwatch.As an example, the displayed portion of the content changes in thedirection of the movement. In another example, the displayed portion ofthe content changes in the direction opposite of the movement. Methodand techniques directed to how the circular display unit 104 displayscontent in accordance with movement is described in more detail belowwith respect to FIGS. 2-7 .

FIG. 2 is a diagram 200 indicating portions of a visualization that aretruncated when using a circular display unit 202, according to at leastone embodiment. That is, in one embodiment, a display apparatus such asa smartwatch includes a circular display unit 202. As shown in FIG. 2 ,the circular display unit 202 may display about three-quarters of thecontent where some portions and objects in the content are cut-off ortruncated from visibility to a user. In an embodiment, code receivedfrom a web server may cause a processor of the smartwatch to execute thecode in such a way that only portions of the content are visible to auser in viewing window. This may happen when the code received, by asmartwatch (which has a circular display unit 202), is created to beexecuted by a non-circular display unit. As noted above with respect toFIG. 1 , the code, when executed by the processor, may indicate where afocus of the display is and the viewing window of the display unit 202defaults to be centered at that focus (or at least as close to it aspossible). That is, in an embodiment, the viewing window of display unit202 has a default position (e.g., initial position) that focuses on thecenter of the content. In an embodiment, the user causes the displaydevice 202 to move so that additional content (e.g., portions that arecurrently truncated) can become visible to the user. The additionalcontent may be displayed to the user in a way that appears more focusedand closer to the user. A more detailed description on how additionalcontent can be viewed is described in FIG. 3 below.

FIG. 3 is a diagram 300 indicating how additional portions of avisualization that were previously truncated is now in view aftermovement of the apparatus, according to at least one embodiment. In anembodiment, a display unit (e.g., touch screen or simply screen) 302 ofa smartwatch displays a different area of the content according to themotion of the display unit 302. As an example, the displayed portion ofthe content (e.g., view window) of display unit 302 changes in thedirection of the movement (e.g., the user moves the display apparatus inone direction 304 and the view window also change and move in that samedirection). That is, in an example, in a two dimensional (2-D) space(e.g., with respect to the X-Y axis shown in FIGS. 2 and 3 ), movement304 in one direction by the display apparatus causes the view window ofdisplay unit 302 to also move in the same direction relative to thedisplay screen. This way, different areas of content may be displayed tothe user. In an embodiment, and as illustrated in FIG. 3 , display unit302 now illustrates the entirety of the box (an example object displayedas content) where previously when display unit 202 was in its initialposition, the box was only partially visible to the user. As describedin more detail below, if the view window moves to a point where itexceeds the boundary of the content, the smartwatch may cause theseareas to be white or black in background color.

In another example, the view window may change in the direction oppositeof the movement. That is, if the display apparatus moved in theNorth-West direction 304 relative to the screen, then the view windowmay display content that is of the South-East most portion relative tothe screen. Note that, moving the smartwatch (which includes the displayunit 302) in the North-West direction relative to the screen is just oneexample of movement and direction as other directions and movements maybe initiated by the user. In an embodiment, movement and direction ofthe display apparatus is controlled by a user. In an embodiment, when auser is wearing the display apparatus (e.g., smartwatch), the usercontrols the movement and direction by physically moving the hand orbody part where the smartwatch is attached. The direction and movementof the display apparatus is detected by one or more motion sensor units(e.g., gyroscope, accelerometer, and/or magnetometer). The method ofusing data from the one or more motion sensor units to control thecontents in a view window is described in more detail with respect toFIGS. 6 and 7 below.

In other embodiments, the display apparatus detects a swiping orscrolling motion by the user on the touchscreen that causes the displayunit 302 to move in the direction of the swiping or scrolling motion. Insome embodiments, the user performs a pinch-in or pinch-out movementwith their fingers to zoom to enlarge or shrink the viewing window onthe smartwatch. In some embodiments, the user may input voice commandsto the smartwatch to control the movement and direction. In someembodiments, a separate computing device (e.g., smartphone, laptop) maysend commands to the smartwatch to control the movement and direction ofthe view window.

FIG. 4 is a diagram 400 indicating portions of a visualization that aretruncated when moving a circular display apparatus (which includes acircular display unit 402), according to at least one embodiment. In anembodiment, the direction of the display unit 402 is moved in thedirection according to the movement on the display apparatus by a user.As noted above, the direction of the display unit 402 may be moved inthe same direction of the display apparatus.

Moreover, as noted above, in an example, a display unit 402 displayscontent (e.g., view window) that has a focus on the center of thecontent (e.g., initial position) where any remaining portions of thecontent outside of the view window is truncated/not visible to the user.In an embodiment, as the display unit 402 moves in a direction, the viewwindow also moves in that same direction and the initial position is nowadjusted to focus on a different area of content. In some embodiments,the display unit 402 does not move if movement by user does not exceed aspecified threshold value (e.g., a magnitude of movement). That is, anydata detected by the one or more motion sensor units of the displayapparatus may be received by a processor of the smartwatch. Theprocessor may compare the received data with predetermined thresholdvalues before determining whether to move the viewing window of displayunit 402.

In an embodiment, the view window displays the content as much as thedisplay unit 402 allows. That is, the view window is as large as thedisplay unit 402 and all content that can be shown within the viewwindow without extending beyond any boundary of the content is displayedto the user. In an embodiment, the view window moves to the boundary ofthe content, but no further. That is, the view window may move to anarea of content such that the boundary of the content matches theboundary of the view window. In some instances, the view window movespast the boundary of the content. If so, the view window may display awhite or black background for areas beyond the content boundary (asshown and briefly described in FIG. 3 ). In some embodiments, the viewwindow returns (e.g., snaps back) to the initial position (focus on thecenter of the content) when the view window displays a completely whiteor black background (which indicates that no portions of the content isvisible to the user anymore). After the view window moves to a differentarea of content, the content that was previously visible to the user maynow be truncated or out of sight of the user.

In an embodiment, the content may be smaller than the view window andthus, only comprises a small part of the display unit 402. For example,the content is an image that does not take up the entirety of the viewwindow. The image may be positioned in the center of the view window.Even though the entirety of the image (since it is smaller than the viewwindow) is displayed, the user may still perform the techniquesdescribed herein where the viewing window moves along the direction ofthe display apparatus such that a different area of content is displayedin the viewing window.

In some examples, simple lateral or vertical movement of the displayapparatus does not cause the display unit 402 to display differentportions of the content. As described briefly above and in more detailbelow with respect to FIG. 6 below, the display unit 402 will not moveunless the processor of the display apparatus determines that certainthresholds are met or unless directed by the user (e.g., via touch inputor press button). In some embodiments and as described in more detail inFIG. 6 below, the display unit 402 is three-dimensional (3D). With a 3Ddisplay unit, the movement and direction of the display apparatus may bedetected with respect to the X-Y-Z axis shown in FIG. 4 . In anembodiment, movement and direction of the display apparatus is based onmagnitude of the movement vector projected onto the plane of the displaydevice (in the two dimensional case). However, in the 3D case, themagnitude of movement may be found by calculating the distance betweentwo points and then taking the absolute value of that distance. Afterfinding the magnitude of a vector, in the 3D space, the magnitude may becompared with previously stored magnitude values to determine whetherthe smartwatch is moving in that direction and whether the viewingwindow should be adjusted accordingly.

FIG. 5 is a diagram 500 indicating portions of a visualization that aretruncated when using a tilted circular display apparatus 502, accordingto at least one embodiment. In an embodiment, when a display apparatus(e.g., smartwatch) 502 is tilted, it creates an “air bubble” anddifferent portions of the content are now visible in a view window tothe user. This is similar to when a user uses a compass and tilts thecompass in a specific direction. In an embodiment, the display apparatus502 is modeled as a compass that measures tilt in at least twodirections. The curve of the glass in the model would indicate how muchthe bubble moves depending on the direction and magnitude of the tilt.In an embodiment, a maximum amount of tilt may be utilized to dictatethe curvature of the model onto which the display apparatus is tilted.As noted below in FIG. 6 , motion sensor units such as accelerometer614, gyroscope 616, and magnetometer 618 are included in the displayapparatus 502. Data from these motion sensor units may be processed bythe display apparatus 502 to determine which areas and portions of thecontent to display to the user. As an example and as described abovewith respect to FIG. 1 , the display apparatus 502 may display adifferent area of the content according to the motion of the displayapparatus 502. As an example, the user may tilt the display apparatus502 in one direction and the content changes in the direction of themovement. That is, in some embodiments, the tilting of the displayapparatus 502 causes content previously not visible to the user tobecome visible.

FIG. 6 is an illustration of an apparatus 600, such as a smartwatch, fordisplaying content, according to at least one embodiment. In anembodiment, smartwatch 602 includes various components such as a displayunit (touch screen) 604, wireless communication circuitry 606, inputdevices (e.g., pushbutton switch, rotary dial) 608, processor 610,motion sensor units (e.g., accelerometer 614, gyroscope 616,magnetometer 618), a global positioning system (GPS) 620, and/or memory612. In an embodiment, the display unit (touch screen) 604 is an LCD;however, other types of display units (which have been described above)is also possible. In an embodiment, the display unit 604 is non planar(three-dimensional) where content is displayed in different planes. In anon-planar display unit, the display unit may display content on a sidecurved surface. In an embodiment, the display unit (touch screen) 604 isconfigured to display images, objects, web content, text, and the likethat are provided by a web server (not depicted in FIG. 6 but describedin more detail in FIG. 8 ). In an embodiment, the display unit 604includes touch screen capabilities. In some embodiments, the displayunit 604 is simply referred to as the touchscreen. In an embodiment, thedisplay unit 604 is circular or round. However, in some embodiments, thedisplay unit 604 is non-circular (square or rectangular). As notedabove, circular and non-circular shaped display units are just a fewexamples of a display unit as the display unit 604 may come in variousshapes and sizes (e.g., symmetric, asymmetric, regular polygons,irregular polygons, etc.).

In an embodiment, wireless communication circuitry 606 is configured sothat information may be transferred to the smartwatch 602 via cellular,wireless local area network (WLAN), Bluetooth, etc. The wirelesscommunication circuitry 606 may communicate with the processor 610 toexecute one or more wireless communication functions. As an example,voice or data (e.g., content from a web server or a different computingdevice) may be transmitted via the wireless communication circuitry 606to the processor 610. In an embodiment, input devices 608 includes apush button and/or a rotary dial. A user may control functions of thesmartwatch 602 using at least one of these input devices 608. The inputdevices 608 may then send a signal to the processor to perform a devicefunction based on an operation that the user has selected. As anexample, the user may turn on/off the smartwatch 602 using the inputdevice 608 (e.g., by pressing the push button for a certain period oftime).

In an embodiment, a processor 610 is included in the display unit (touchscreen) 604 so that it receives varying inputs made by a user. As notedabove, the processor 610 may be configured to execute instructions tocause the smartwatch 602 to perform one or more operations (e.g., poweron/off, load content on the display unit) under the direction of theuser. In an embodiment, a web server provides content to the smartwatch602 via the wireless communication circuitry 606. The content is adocument configured according to a markup language (e.g., HTML, XML) anda browser of the smartwatch 602 has instructions for rendering thecontent. In some embodiments, the smartwatch 602 has a display unit thatis circular. Without having to alter the content provided by the webserver, the processor 610 of smartwatch 602 may cause the display unit604 to display a portion of the content. As an example and as shown inFIG. 2 , the smartwatch 602 displays just the center portions of thecontent whereas the edge portions of the content are cut off fromvisibility. In some embodiments, the processor 610 receives data fromthe motion sensor units that detect certain movements of the smartwatch602 and cause the display unit 604 to move such that different portionsof the content is now in the viewing window for the user.

In an embodiment, the processor is also configured to receive data frommotion sensor units (e.g., an accelerometer 614, gyroscope 616, andmagnetometer 618). In an embodiment, data associated with the direction,tilt, and/or acceleration of the smartwatch 602 is received by theprocessor 610. In an embodiment, an accelerometer 614 is a sensor unitin smartwatch 602 that is configured to handle axis-based motionsensing. In an embodiment, the accelerometer 614 also provides data tothe processor 610 to indicate which direction the smartwatch 602 ispointing. In an embodiment, the accelerometer 614 also measures thespeed or acceleration with respect to the movements of the smartwatch602. In an embodiment, a predetermined threshold value of speed oracceleration may be stored in memory 612. Any data received by theprocessor from the accelerometer may be compared with the previouslystored predetermined threshold value before indicating that movement isactually taking place and directing the display unit 604 to move. Thisway, it would help eliminate any false positives where a user just makesvery small movements with no intention of causing the smartwatch 602 tomove. That is, in an embodiment, some sort of movement (e.g. a jerk ofmagnitude over a threshold) indicates that the viewing window shouldmove so that the user can keep the viewing window in the same placeunless the user wants to move it. The jerk of magnitude over a thresholdmay equivalent to an angular speed of tilt over a threshold, where theangular speed goes from positive to negative or negative to positivewithin some predetermined amount of time (e.g., time threshold). In anembodiment, the movement of the viewing window is “sticky.” Forinstance, if the user tilts the smartwatch to move the viewing window inone direction, the viewing window may not move back when the user tiltsthe smartwatch back until the user somehow indicates for it to move back(e.g., with a jerk or other indicator). In an embodiment, the viewingwindow is set in a desired location as the user moves around. This way,the viewing window is not moving from the last place that the userintended it to be. In an embodiment, the user taps the touch screen 604or a button press to prevent the viewing window from moving.

In an embodiment, a gyroscope 616 provides data to the processor 610 toindicate which direction the smartwatch 602 is orientated. That is, thegyroscope 616 measures the tilt of the smartwatch 602. In someembodiments, the gyroscope 616 measures the speed of the tilt. Thetilting speed may be received by the processor 610 and the processor 610may determine the length of time content is made visible to the userbefore it moves to another part of the content. As noted above, theprocessor may also receive data from the gyroscope 616 and compare itwith predetermined threshold values stored in memory 612. The processor610 may determine whether the speed of tilt measured by the gyroscope616 meets or exceeds a predetermined threshold value before directingthe display unit 604 to move. For example, the speed at which theviewing window of the smartwatch 602 moves is proportional to the angleof tilt with respect to an upper limit on the speed of movement. Thatis, the movement of the viewing window may be controlled based on theangular speed of the tilt, where higher angular speed can indicate thatthe viewing window of the smartwatch 602 should move faster. This way,faster tilts by the user causes the viewing window to move faster, andslow tilts causes the viewing window to move slower. Moreover, the speedof movement may also depend on the size of the viewing window of thesmartwatch 602 relative to the size of the frame buffer of thesmartwatch.

In an embodiment, a user adjusts a calibration setting that would allowthe user to define a default angle for the gyroscope 616. Individualswith different heights and arm lengths may prefer a wide range ofviewing angles of the display when using the device. Thus, providing theuser the ability to set their preferred viewing angle when engaging thewearable display would generate an improved user experience. As anexample, one person may need to hold wrist close to face in order to seewhile another person may prefer to look down at their wrist closer towaist level. Thus, users would be able to calibrate their preferreddisplay viewing angle so that gyroscope rotation is more accuratelyresponsive to individual use.

In an embodiment, a magnetometer 618 is another sensor unit included inthe smartwatch 602. The magnetometer 618 may measure the magnetic fieldsand provide data to the processor 610 to indicate which direction isNorth/South/East/West. Although not depicted in FIG. 6 , the smartwatch602 is not limited to the sensors disclosed herein and thus, may alsoinclude other sensors such as biometric sensors, barometers, proximitysensors, and/or ambient light sensors.

In an embodiment, the smartwatch 602 also includes a GPS 620. In anembodiment, the GPS 620 is configured to communicate with satellites todetermine the current location of the smartwatch 602. In an embodiment,the GPS calculates the current position of a user (while wearing thesmartwatch 602). In an embodiment, as the user (while wearing thesmartwatch 602) moves (e.g., either via walking or driving), the displayunit 604 displays a map that indicates to the user the current locationof the user relative to the map. The display unit 604 may continue todisplay the map and provide updated positions to the user based on theuser's movement. In an embodiment, the processor 610 is coupled tomemory 612. In an embodiment, the memory 612 stores data received fromsensor units (e.g., accelerometer 614, gyroscope 616, and magnetometer618). In some embodiments, the user may store data such as audio,images, and/or text in memory 612.

FIG. 7 is a flowchart indicating a process 700 of providing contentusing a display apparatus, according to at least one embodiment. In anembodiment, a display apparatus such as a smartwatch, receives code froma web server to display content. In an embodiment, code is received as aresult of a software developer generating the code using a separatedevice. In some instances, the smartwatch receives code to displaycontent other than from a web server (e.g., from a desktop computer orpersonal laptop). In an embodiment, the smartwatch includes a wristbandthat can be attached to a body part on the user. In some instances, theuser is in possession (e.g., in the pocket of the user or in the hand ofthe user) of the smartwatch without being physically attached to theuser.

In an embodiment, the smartwatch comprise a web browser that sends oneor more requests for content to a web server. In an embodiment, the webserver responds to the one or more requests with executable code (or insome instances an HTML document). The code may be generated by webdevelopers for content to be displayed on a square display unit.However, in some instances, the smartwatch includes a circular displayunit. As such, the smartwatch executes the code received from the webbrowser and displays content using a circular display unit even thoughthe code was created to display content for a display unit shapeddifferently 702. Based on this discrepancy, the circular display unit ofthe smartwatch may only display a portion of the content. The viewingwindow of the display unit may focus on the center of the content andsome portions of the content may not be visible to the user. As anexample, the smartwatch displays about 75% of the content and theremaining 25% (e.g., four corners/edges) of the content are cut off fromvisibility to the user. If the user wanted to obtain visibility of acorner/edge that is cut off, the user may move the smartwatch in adirection to view that corner/edge of the content. As mentioned above,the user may tilt the smartwatch in one direction, which then causes thedisplay unit to move its viewing window to display a different area ofthe content according to the motion of the smartwatch. In one example,the displayed portion of the content changes in the direction of themovement. In another example, the displayed portion of the contentchanges in the direction opposite of the movement.

In an embodiment, the smartwatch includes one or more components inaddition to the display unit. For example, the smartwatch includes aprocessor, wireless communication circuitry, input devices (e.g.,pushbutton switch, rotary dial), motion sensor units (e.g.,accelerometer, gyroscope, magnetometer, a global positioning system(GPS), and/or memory. In an embodiment, the processor receives data fromthe one or more motion sensor units based on movements initiated by theuser while wearing or in possession of the smartwatch 704. In anembodiment, the accelerometer of the one or more motion sensor unitshandles axis-based motion sensing. In an embodiment, the gyroscopeprovides data to the processor to indicate which direction thesmartwatch is orientated. That is, the gyroscope measures the tilt ofthe smartwatch. In some embodiments, the gyroscope also measures thespeed of the tilt. In an embodiment, the magnetometer measures themagnetic fields and provides data to the processor to indicate whichcardinal direction (North/West/East/South) the smartwatch is facing. Inan embodiment, a predetermined threshold value with respect themagnitude of movement (e.g., speed or acceleration) is stored in memoryof the smartwatch. Thus, any data received by the processor from the oneor more motion sensor units may be compared with the previously storedpredetermined threshold values 706. The processor may use informationfrom the comparison to control movement of the viewing window of thesmartwatch 708 so that additional content (e.g., a corner that was notpreviously visible to the user) can be visible.

FIG. 8 is an example illustration 800 how a display apparatus is used todisplay visualizations, according to at least one embodiment. In mostsystems, with a rectangular display, the visual data is stored in thevideo random-access memory (RAM) on a graphics card in what is called aframe buffer. The data stored in the frame buffer would generallycorrelate directly with the pixel values on a rectangular display. Theframe buffer is read by the video controller and that data is sent tothe display. In a situation where the display is circular (ornon-rectangular in shape) and the software/visual data was programed fora rectangular display, the frame buffer would provide an area larger ornon-conforming to the same dimensions of the pixel values found on thenon-rectangular display 802. In this situation, data from a gyroscopemay be used to manipulate which data in the frame buffer would be sentby the video controller to which pixel values on the display. Using therotational data from two planes, or around two axes, these two datastreams from the gyroscope may provide “two-dimensional (2D)”manipulation of the visual data ultimately displayed. The end resultwould allow the user to physically manipulate which portion of the framebuffer is presented to the display by tilting the display inthree-dimensional (3D) space. As an example, a user may tilt or move thedisplay in a first direction to display a certain area of the content804. In another example, a user may tilt or move the display in a seconddirection (opposite of the first direction) to display a different areaof content 806. As an illustration, the non-rectangular display as awindow through which you are seeing a portion of a picture that wouldrepresent the frame buffer, tilting the gyroscope would result in thepicture moving horizontally or vertically behind the window.

In an embodiment, the non-rectangular display (as outlined by blackboxes in FIG. 8 ) moves in the direction (or opposite the direction) oftilt a set amount of pixels per second until the border of thenon-rectangular display reaches the edge of the frame buffer. In anembodiment, and as mentioned above, if the view window of thenon-rectangular display moves to a point where it exceeds the boundaryof the content (e.g., past the frame buffer), these areas may displaywhite or black in background color. In an embodiment, instead of a whiteor black background color, the area may display a static image for theportions of the non-rectangular display past the frame buffer.

FIG. 9 is an illustrative, simplified block diagram of a computingdevice 900 that can be used to practice at least one embodiment of thepresent disclosure. In various embodiments, the computing device 900includes any appropriate device operable to send and/or receiverequests, messages, or information over an appropriate network andconvey information back to a user of the device. The computing device900 may be used to implement any of the systems illustrated anddescribed above. For example, the computing device 900 may be configuredfor use as a data server, a web server, a portable computing device, apersonal computer, a cellular or other mobile phone, a handheldmessaging device, a laptop computer, a tablet computer, a set-top box, apersonal data assistant, an embedded computer system, an electronic bookreader, or any electronic computing device. The computing device 900 maybe implemented as a hardware device, a virtual computer system, or oneor more programming modules executed on a computer system, and/or asanother device configured with hardware and/or software to receive andrespond to communications (e.g., web service application programminginterface (API) requests) over a network.

As shown in FIG. 9 , the computing device 900 may include one or moreprocessors 902 that, in embodiments, communicate with and areoperatively coupled to a number of peripheral subsystems via a bussubsystem. In some embodiments, these peripheral subsystems include astorage subsystem 906, comprising a memory subsystem 908 and a file/diskstorage subsystem 910, one or more user interface input devices 912, oneor more user interface output devices 914, and a network interfacesubsystem 916. Such storage subsystem 906 may be used for temporary orlong-term storage of information.

In some embodiments, the bus subsystem 904 may provide a mechanism forenabling the various components and subsystems of computing device 900to communicate with each other as intended. Although the bus subsystem904 is shown schematically as a single bus, alternative embodiments ofthe bus subsystem utilize multiple buses. The network interfacesubsystem 916 may provide an interface to other computing devices andnetworks. The network interface subsystem 916 may serve as an interfacefor receiving data from and transmitting data to other systems from thecomputing device 900. In some embodiments, the bus subsystem 904 isutilized for communicating data such as details, search terms, and soon. In an embodiment, the network interface subsystem 916 maycommunicate via any appropriate network that would be familiar to thoseskilled in the art for supporting communications using any of a varietyof commercially available protocols, such as Transmission ControlProtocol/Internet Protocol (TCP/IP), User Datagram Protocol (UDP),protocols operating in various layers of the Open System Interconnection(OSI) model, File Transfer Protocol (FTP), Universal Plug and Play(UpnP), Network File System (NFS), Common Internet File System (CIFS),and other protocols.

The network, in an embodiment, is a local area network, a wide-areanetwork, a virtual private network, the Internet, an intranet, anextranet, a public switched telephone network, a cellular network, aninfrared network, a wireless network, a satellite network, or any othersuch network and/or combination thereof, and components used for such asystem may depend at least in part upon the type of network and/orsystem selected. In an embodiment, a connection-oriented protocol isused to communicate between network endpoints such that theconnection-oriented protocol (sometimes called a connection-basedprotocol) is capable of transmitting data in an ordered stream. In anembodiment, a connection-oriented protocol can be reliable orunreliable. For example, the TCP protocol is a reliableconnection-oriented protocol. Asynchronous Transfer Mode (ATM) and FrameRelay are unreliable connection-oriented protocols. Connection-orientedprotocols are in contrast to packet-oriented protocols such as UDP thattransmit packets without a guaranteed ordering. Many protocols andcomponents for communicating via such a network are well known and willnot be discussed in detail. In an embodiment, communication via thenetwork interface subsystem 916 is enabled by wired and/or wirelessconnections and combinations thereof.

In some embodiments, the user interface input devices 912 includes oneor more user input devices such as a keyboard; pointing devices such asan integrated mouse, trackball, touchpad, or graphics tablet; a scanner;a barcode scanner; a touch screen incorporated into the display; audioinput devices such as voice recognition systems, microphones; and othertypes of input devices. In general, use of the term “input device” isintended to include all possible types of devices and mechanisms forinputting information to the computing device 900. In some embodiments,the one or more user interface output devices 914 include a displaysubsystem, a printer, or non-visual displays such as audio outputdevices, etc. In some embodiments, the display subsystem includes acathode ray tube (CRT), a flat-panel device such as a liquid crystaldisplay (LCD), light emitting diode (LED) display, or a projection orother display device. In general, use of the term “output device” isintended to include all possible types of devices and mechanisms foroutputting information from the computing device 900. The one or moreuser interface output devices 914 can be used, for example, to presentuser interfaces to facilitate user interaction with applicationsperforming processes described and variations therein, when suchinteraction may be appropriate.

In some embodiments, the storage subsystem 906 provides acomputer-readable storage medium for storing the basic programming anddata constructs that provide the functionality of at least oneembodiment of the present disclosure. The applications (programs, codemodules, instructions), when executed by one or more processors in someembodiments, provide the functionality of one or more embodiments of thepresent disclosure and, in embodiments, are stored in the storagesubsystem 906. These application modules or instructions can be executedby the one or more processors 902. In various embodiments, the storagesubsystem 906 additionally provides a repository for storing data usedin accordance with the present disclosure. In some embodiments, thestorage subsystem 906 comprises a memory subsystem 908 and a file/diskstorage sub system 910.

In embodiments, the memory subsystem 908 includes a number of memories,such as a main random access memory (RAM) 918 for storage ofinstructions and data during program execution and/or a read only memory(ROM) 920, in which fixed instructions can be stored. In someembodiments, the file/disk storage subsystem 910 provides anon-transitory persistent (non-volatile) storage for program and datafiles and can include a hard disk drive, a floppy disk drive along withassociated removable media, a Compact Disk Read Only Memory (CD-ROM)drive, an optical drive, removable media cartridges, or other likestorage media.

In some embodiments, the computing device 900 includes at least onelocal clock 924. The at least one local clock 924, in some embodiments,is a counter that represents the number of ticks that have transpiredfrom a particular starting date and, in some embodiments, is locatedintegrally within the computing device 900. In various embodiments, theat least one local clock 924 is used to synchronize data transfers inthe processors for the computing device 900 and the subsystems includedtherein at specific clock pulses and can be used to coordinatesynchronous operations between the computing device 900 and othersystems in a data center. In another embodiment, the local clock is aprogrammable interval timer.

The computing device 900 could be of any of a variety of types,including a portable computer device, tablet computer, a workstation, orany other device described below. Additionally, the computing device 900can include another device that, in some embodiments, can be connectedto the computing device 900 through one or more ports (e.g., USB, aheadphone jack, Lightning connector, etc.). In embodiments, such adevice includes a port that accepts a fiber-optic connector.Accordingly, in some embodiments, this device converts optical signalsto electrical signals that are transmitted through the port connectingthe device to the computing device 900 for processing. Due to theever-changing nature of computers and networks, the description of thecomputing device 900 depicted in FIG. 9 is intended only as a specificexample for purposes of illustrating the preferred embodiment of thedevice. Many other configurations having more or fewer components thanthe system depicted in FIG. 9 are possible.

In an embodiment, a web server provides content to computing device 900.That is, in an embodiment, content are provided to computing device 900,which may include devices such as smartwatches, glasses, art displaydevices, and/or tablets, etc. The computing device 900 may utilize thetechniques described herein to display visualizations that areconfigured for a specific type of display device even though thecomputing device 900 that receives the web content is configured todisplay a different type of visualization.

The specification and drawings are, accordingly, to be regarded in anillustrative rather than a restrictive sense. However, it will beevident that various modifications and changes may be made thereuntowithout departing from the scope of the invention as set forth in theclaims. Likewise, other variations are within the scope of the presentdisclosure. Thus, while the disclosed techniques are susceptible tovarious modifications and alternative constructions, certain illustratedembodiments thereof are shown in the drawings and have been describedabove in detail. It should be understood, however, that there is nointention to limit the invention to the specific form or forms disclosedbut, on the contrary, the intention is to cover all modifications,alternative constructions and equivalents falling within the scope ofthe invention, as defined in the appended claims.

In some embodiments, data may be stored in a data store (not depicted).In some examples, a “data store” refers to any device or combination ofdevices capable of storing, accessing, and retrieving data, which mayinclude any combination and number of data servers, databases, datastorage devices, and data storage media, in any standard, distributed,virtual, or clustered system. A data store, in an embodiment,communicates with block-level and/or object level interfaces. Thecomputing device 900 may include any appropriate hardware, software andfirmware for integrating with a data store as needed to execute aspectsof one or more applications for the computing device 900 to handle someor all of the data access and business logic for the one or moreapplications. The data store, in an embodiment, includes severalseparate data tables, databases, data documents, dynamic data storageschemes, and/or other data storage mechanisms and media for storing datarelating to a particular aspect of the present disclosure. In anembodiment, the computing device 900 includes a variety of data storesand other memory and storage media as discussed above. These can residein a variety of locations, such as on a storage medium local to (and/orresident in) one or more of the computers or remote from any or all ofthe computers across a network. In an embodiment, the informationresides in a storage-area network (SAN) familiar to those skilled in theart, and, similarly, any necessary files for performing the functionsattributed to the computers, servers or other network devices are storedlocally and/or remotely, as appropriate.

In an embodiment, the computing device 900 may provide access to contentincluding, but not limited to, text, graphics, audio, video, and/orother content that is provided to a user in the form of HyperText MarkupLanguage (HTML), Extensible Markup Language (XML), JavaScript, CascadingStyle Sheets (CSS), JavaScript Object Notation (JSON), and/or anotherappropriate language. The computing device 900 may provide the contentin one or more forms including, but not limited to, forms that areperceptible to the user audibly, visually, and/or through other senses.The handling of requests and responses, as well as the delivery ofcontent, in an embodiment, is handled by the computing device 900 usingPHP: Hypertext Preprocessor. (PHP), Python, Ruby, Perl, Java, HTML, XML,JSON, and/or another appropriate language in this example. In anembodiment, operations described as being performed by a single deviceare performed collectively by multiple devices that form a distributedand/or virtual system.

In an embodiment, the computing device 900 typically will include anoperating system that provides executable program instructions for thegeneral administration and operation of the computing device 900 andincludes a computer-readable storage medium (e.g., a hard disk, randomaccess memory (RAM), read only memory (ROM), etc.) storing instructionsthat if executed (e.g., as a result of being executed) by a processor ofthe computing device 900 cause or otherwise allow the computing device900 to perform its intended functions (e.g., the functions are performedas a result of one or more processors of the computing device 900executing instructions stored on a computer-readable storage medium).

In an embodiment, the computing device 900 operates as a web server thatruns one or more of a variety of server or mid-tier applications,including Hypertext Transfer Protocol (HTTP) servers, FTP servers,Common Gateway Interface (CGI) servers, data servers, Java servers,Apache servers, and business application servers. In an embodiment,computing device 900 is also capable of executing programs or scripts inresponse to requests from user devices, such as by executing one or moreweb applications that are implemented as one or more scripts or programswritten in any programming language, such as Java®, C, C# or C++, or anyscripting language, such as Ruby, PHP, Perl, Python, or TCL, as well ascombinations thereof. In an embodiment, the computing device 900 iscapable of storing, retrieving, and accessing structured or unstructureddata. In an embodiment, computing device 900 additionally oralternatively implements a database, such as one of those commerciallyavailable from Oracle®, Microsoft®, Sybase®, and IBM® as well asopen-source servers such as MySQL, Postgres, SQLite, MongoDB. In anembodiment, the database includes table-based servers, document-basedservers, unstructured servers, relational servers, non-relationalservers, or combinations of these and/or other database servers.

The use of the terms “a” and “an” and “the” and similar referents in thecontext of describing the disclosed embodiments (especially in thecontext of the following claims) is to be construed to cover both thesingular and the plural, unless otherwise indicated or clearlycontradicted by context. The terms “comprising,” “having,” “including”and “containing” are to be construed as open-ended terms (i.e., meaning“including, but not limited to,”) unless otherwise noted. The term“connected,” when unmodified and referring to physical connections, isto be construed as partly or wholly contained within, attached to orjoined together, even if there is something intervening. Recitation ofranges of values in the present disclosure are merely intended to serveas a shorthand method of referring individually to each separate valuefalling within the range unless otherwise indicated and each separatevalue is incorporated into the specification as if it were individuallyrecited. The use of the term “set” (e.g., “a set of items”) or “subset”unless otherwise noted or contradicted by context, is to be construed asa nonempty collection comprising one or more members. Further, unlessotherwise noted or contradicted by context, the term “subset” of acorresponding set does not necessarily denote a proper subset of thecorresponding set, but the subset and the corresponding set may beequal. The use of the phrase “based on,” unless otherwise explicitlystated or clear from context, means “based at least in part on” and isnot limited to “based solely on.”

Conjunctive language, such as phrases of the form “at least one of A, B,and C,” or “at least one of A, B and C,” unless specifically statedotherwise or otherwise clearly contradicted by context, is otherwiseunderstood with the context as used in general to present that an item,term, etc., could be either A or B or C, or any nonempty subset of theset of A and B and C. For instance, in the illustrative example of a sethaving three members, the conjunctive phrases “at least one of A, B, andC” and “at least one of A, B, and C” refer to any of the following sets:{A}, {B}, {C}, {A, B}, {A, C}, {B, C}, {A, B, C}. Thus, such conjunctivelanguage is not generally intended to imply that certain embodimentsrequire at least one of A, at least one of B and at least one of C eachto be present.

Operations of processes described can be performed in any suitable orderunless otherwise indicated or otherwise clearly contradicted by context.Processes described (or variations and/or combinations thereof) can beperformed under the control of one or more computer systems configuredwith executable instructions and can be implemented as code (e.g.,executable instructions, one or more computer programs or one or moreapplications) executing collectively on one or more processors, byhardware or combinations thereof. In some embodiments, the code can bestored on a computer-readable storage medium, for example, in the formof a computer program comprising a plurality of instructions executableby one or more processors. In some embodiments, the computer-readablestorage medium is non-transitory.

The use of any and all examples, or exemplary language (e.g., “such as”)provided, is intended merely to better illuminate embodiments of theinvention and does not pose a limitation on the scope of the inventionunless otherwise claimed. No language in the specification should beconstrued as indicating any non-claimed element as essential to thepractice of the invention.

Embodiments of this disclosure are described, including the best modeknown to the inventors for carrying out the invention. Variations ofthose embodiments will become apparent to those of ordinary skill in theart upon reading the foregoing description. The inventors expect skilledartisans to employ such variations as appropriate and the inventorsintend for embodiments of the present disclosure to be practicedotherwise than as specifically described. Accordingly, the scope of thepresent disclosure includes all modifications and equivalents of thesubject matter recited in the claims appended hereto as permitted byapplicable law. Moreover, any combination of the above-describedelements in all possible variations thereof is encompassed by the scopeof the present disclosure unless otherwise indicated or otherwiseclearly contradicted by context.

All references, including publications, patent applications, andpatents, cited are hereby incorporated by reference to the same extentas if each reference were individually and specifically indicated to beincorporated by reference and were set forth in its entirety.

The invention claimed is:
 1. A computer-implemented method of displayingcontent, comprising: displaying, via a viewing window of a displaydevice attached to a user, a portion of content, wherein the content isconfigured to be displayed on a display device that is different fromthe display device where a second portion of content is to be truncatedfrom the viewing window of the display device; and using a processor ofthe display device to: receive data from one or more motion sensor unitscomprising an accelerometer, gyroscope, and magnetometer based onmovement by the user; cause a video display controller of the displaydevice to send the second portion of content from a frame buffer to thedisplay device after receiving the data from the one or more motionsensor units; cause the viewing window to move in a direction inaccordance with the movement of the user, while the portion of contentremains stationary, wherein the viewing window, when moved, displays asubset of the portion of content and the second portion of contentreceived from the frame buffer, such that the viewing window movesbeyond the content to display one or more edges of the content andwherein the viewing window is to be moved in the direction in accordancewith the movement based on the received data from the one or more motionsensor units indicating a jerk of magnitude that exceeds a threshold. 2.The computer-implemented method of claim 1, wherein the process of thedisplay device executes code usable to display content that isconfigured for a square shaped display device.
 3. Thecomputer-implemented method of claim 1, wherein the display device is ofcircular shape.
 4. The computer-implemented method of claim 1, whereinmovement by the user further comprises tilting the display device in adirection indicated by the user.
 5. The computer-implemented method ofclaim 4, wherein tilting the display device further comprises receiving,at the processor, directional data from a gyroscope of the one or moremotion sensor units.
 6. The computer-implemented method of claim 1,wherein the portion of content displayed on the display device is basedon directional data received from the gyroscope.
 7. Thecomputer-implemented method of claim 1, wherein the display device is asmartwatch.
 8. A system, comprising: one or more processors; memory thatstores computer-executable instructions that are executable by the oneor more processors to cause the system to: receive executable code todisplay content; display a portion of the content using a viewing windowof a circular display unit, wherein the executable code to display thecontent is configured for a square display unit such that a secondportion of the content is to be truncated from the viewing window of thecircular display unit; receive data from one or more motion sensor unitscomprising an accelerometer, gyroscope, and magnetometer caused bymovements initiated by a user attached to the system; cause a videodisplay controller of the circular display unit to send the secondportion of content from a frame buffer to the circular display unitafter receiving the data from the one or more motion sensor units; causethe second portion of the content to be displayed by adjusting theviewing window, while the portion of the content remains static, tofocus on a subset of the portion of the content and the second portionof the content received from the frame buffer and in accordance with adirection of the movement caused by the user, such that the viewingwindow moves beyond the content to display one or more edges of thecontent and wherein the viewing window is to be moved in the directionin accordance with the movement based on the received data indicating ajerk of magnitude that exceeds a threshold.
 9. The system of claim 8,wherein the instructions that are executable by the one or moreprocessors further cause the system to display the second portion of thecontent without having to obtain additional executable code.
 10. Thesystem of claim 8, wherein the instructions that are executable by theone or more processors further cause the system to determine whether thereceived data from the one or more motion sensor units meets or exceedsone or more threshold values previously stored in the memory, whereinthe one or more threshold values comprise a predetermined magnitude ofmovement.
 11. The system of claim 8, wherein the one or more motionsensor units comprise an accelerometer, gyroscope, and magnetometer. 12.The system of claim 8, wherein the second portion of the content isdisplayed based on data received from each of the one or more motionsensor units.
 13. The system of claim 8, wherein the system is asmartwatch that comprises the circular display unit.
 14. A smartwatch,comprising: a processor; a display unit; memory; and one or more motionsensor units comprising an accelerometer, gyroscope, and magnetometer,wherein the processor is further configured to: execute code to displaya portion of content in a viewing window of the display unit, whereinthe code is configured to be executed by a display unit different fromthe display unit of the smartwatch such that a second portion of contentis to be truncated from the viewing window; obtain data from each of theone or more motion sensor units caused by movements initiated by a user;cause a video display controller of the display unit to send the secondportion of content from a frame buffer to the display unit afterreceiving the data from the one or more motion sensor units; cause thedisplay unit to alter the viewing window, while the portion of contentis unaltered, in the same direction corresponding to movements initiatedby the user and display a subset of the portion of content and thesecond portion of content received from the frame buffer, such that theviewing window moves beyond the content to display one or more edges ofthe content; and wherein the viewing window is to be moved in thedirection in accordance with the movement based on the received dataindicating a jerk of magnitude that exceeds a threshold.
 15. Thesmartwatch of claim 14, wherein the display unit is circular in shape.16. The smartwatch of claim 14, wherein the gyroscope detects the usertilting the smartwatch.
 17. The smartwatch of claim 16, wherein theprocessor: obtains data from the gyroscope to detect that the smartwatchis tilted in a first direction; and causes the display unit to displaythe second portion of the content corresponding to the tilt in the firstdirection if data obtained from the gyroscope meets or exceeds one ormore threshold values stored in the memory.
 18. The smartwatch of claim17, wherein the one or more threshold values comprises a magnitude ofmovement.
 19. The smartwatch of claim 14, wherein the code indicateswhere a focus of the display unit is to be centered such that thedisplay unit displays the portion of content with respect to the focusedcenter.
 20. The smartwatch of claim 14, wherein the processor causes thedisplay unit to display different portions of content without having toobtain a second set of code specifically configured for the displayunit.